The present invention in general relates to apparatus and method for implementing an Asynchronous Transfer Mode (i.e.xe2x80x94ATM) Adaptation Layer type 2 (i.e.xe2x80x94AAL2) combined use timer. And especially a device and method for implementing an ATM AAL2 combined use timer in an ATM transmitter.
Asynchronous Transfer Mode (ATM) has been accepted universally as the transfer mode of choice for Broadband Integrated Services Digital Networks (B-ISDN).
The services provided by ATM can be enhanced by providing ATM adaptation layers (AAL) that support functions required by a next higher communication layer. The next higher communication layer is accessed through a service access point. Referring to FIG. 1, an AAL entity 20 (21) receives information from an ATM layer entity, such as a point to point ATM layer connection 22, processes it and provides information through a service access point (i.e.xe2x80x94AAL-SAP) 23 (24) to the next higher communication layer and vice verse.
The Telecommunication Standardization Sector of the International Telecommunication Union (i.e.xe2x80x94ITU-T) has written several specifications defining several ATM adaptation layers. The specification of the ATM AAL2 can be found in recommendation I.363.2 of ITU-T. Recommendation I.363.2 was published during July 1997.
AAL2 provides for the bandwidth-efficient transmission of low-rate, short, and variable length packets in delay sensitive applications. AAL2 allows servicing multiple channels/users/services.
Referring to FIG. 2, An AAL2 layer is subdivided into a Common Part Sub-layer (CPS) 31 and a Service Specific Convergence Sub-layer (SSCS) 32. CPS 31 and SSCS 32 exchange primitives 33 that are defined in the I.363.2 recommendation. SSCS entities receive data from multiple sub-channels. Data originated from at least one SSCS entity form CPS-packets, CPS packets are multiplexed and packed to CPS-PDU cells, sent to ATM layer entities to be converted to ATM cells and to be transmitted over point to point ATM layer connection 22.
The terms xe2x80x9cATM AAL2 channelxe2x80x9d or xe2x80x9cAAL2 channelxe2x80x9d refer to a single communication channel that provides either CPS-PDUs or ATM cells, whereas the CPS-PDUa and accordingly the ATM cells can comprise of a CPS-packets from a plurality of channels or sub-channels.
Each of the various data packets comprises of a control and/or status field, usually referred to as header, and a data field, referred to as payload. All data packets are formed of a plurality of octets. A CPS-packet has at least four octets; three forming a CPS packet header and the remaining octets form the CPS payload. A CPS-PDU consists of a single octet start field and 47 octet long payload. An ATM cell has a 5 octet long ATM header and an ATM payload. The 48 long CPS-PDU forms the ATM payload.
FIGS. 3-5 show examples of the multiplexing and packing of CPS packets to form CPS-PDUs that are converted to ATM cells. FIG. 3 shows the multiplexing and packing of 19 octet long CPS packets 60-73 to CPS-PDUs 74-79. FIG. 4 shows the multiplexing and packing of variable size CPS-packets 80-87 into CPS-PDUs 74$-79$. CPS-Packet 80 is 48 octet long. CPS-Packet 81 is 22 octet long. CPS-Packet 82 is 21 octet long. CPS-Packet 83 is 25 octet long. CPS-Packet 84 is 25 octet long. CPS-Packet 85 is 47 octet long. CPS-Packet 86 is 45 octet long. And CPS-Packet 87 is 37 octet long. FIG. 5 shown the multiplexing and packing of 67 octet long CPS-packets 88-91 into CPS-PDUs 74and-79and. FIGS. 3-5 illustrate that some CPS packets are split between two CPS-PDU. For example, CPS packet 62 is split between CPS-PDU 74 and 75, CPS packet 80 is split between CPS-PDUs 74$ and 75$, CPS packet 88 is split between CPS-PDU 74and and 75and. Furthermore, time constraints can force to fill a CPS-PDU with PAD octets. For example, if no further CPS-PDU arrives during a predetermined period after CPS-packet 91, CPS-PDU 79and is filled with PAD octets before it can be transmitted.
AAL2 is used in delay sensitive applications and there is a need to assure that the multiplexing and packing process does not delay the transmission of the CPS packet for a period that exceeds a threshold. This threshold is referred to as Timer_CU period in the I.363.2 recommendation. A CPS packet with one or more octets already packed wait at most the duration of Timer_CU period before being scheduled for transmission. The transmission takes place when the ATM transfer capability in force for the ATM connection allows the submission of a CPS_PDU for transmission. Each AAL2 channel can have its own threshold. Usually, an ATM entity can handle at least several thousands channels and each channel can have its own threshold.
CPS-PDUs are submitted to the ATM entity by a CPS entity referred to as a CPS transmitter. The CPS transmitter is modeled as a state machine, and its various states are defined in the I.363.2 recommendations. Generally speaking the CPS transmitter has four states: IDLE, PART, FULL and SEND. In IDLE state the CPS-PDU is empty and the Timer_CU period is not measured. In PART state some CPS-packet information is stored in the CPS-PDU and there is room for more, during the state the Timer_CU period is measured. In FULL state the CPS-PDU is full. If the last CPS packet overlaps into the next CPS-PDU Timer_CU period is measured. In SEND state Timer_CU period has but the CPS transmitter waits for a layer management within the ATM entity to allow the submission of the CPS-PDU for transmission.
The CPS transmitter operation is based upon a combined use Timer_CU that assures that CPS-Packets with one or more octets already packed wait at most the duration of a Timer_CU period before being submitted for transmission. Each channel has its own Timer_CU period, and there is a need to perform large amount of real time calculations and measurements in order to determine when the various Timer_CU period have expired.
There is a need to provide a device and a method for performing real time Timer_CU period measurements.
Usually, ATM entities deal with a plurality of communication channels, whereas only a part of them are ATM AAL2 channels. There is a need to provide a method and device for integrating the scheduling scheme of ATM AAL2 channels with the scheduling scheme of other channels.